// 将axios单独封装到一个js模块中
import axios from 'axios'
// 导入store
import store from '@/store'
// 原地址: http://ttapi.research.itcast.cn/app/
// 现地址: http://toutiao-app.itheima.net/，需要去掉/app路径
// 原接口：url: '/app/v1_1/articles'，现在需要删除'app'：url: '/v1_1/articles'
const instance = axios.create({
  baseURL:'http://toutiao-app.itheima.net/',
  timeout:5000
})

// 请求/响应拦截
// 添加请求拦截器
instance.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  // console.log(config) // 请求的信息对象
  const token = store.state.user.tokenInfo.token
  
   config.headers.Authorization = 'Bearer ' + token
   if (token) { // 如果获取到了token，再向请求头中加token
     config.headers. Authorization = 'Bearer ' + token
   }
  return config
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error)
})

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  console.log(response)
  return response;
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error)
})


// 导出 在main.js中导入 并挂载给vue原型
export default instance